
Page({

    /**
     * 页面的初始数据
     */
    data: {
        ck: true,
        phoneError: '',
        passwordError: '',
        confirmPasswordError: '',
        captchaError: '',
        usernameError: '',
        nicknameError: '',
        emailError: '',
        captcha: '' // 用于绑定验证码输入框的值
    },
    sendCaptcha() {
        // 显示验证码已发送的提示
        // 显示验证码已发送的提示
        wx.showToast({
            title: '验证码已发送，验证码为：1234',
            icon: 'none', // 不显示图标
            duration: 2000 // 提示持续时间，单位为毫秒
        });
    },
    registerHandler(e) {
        console.log("表单提交", e.detail.value);
        wx.setStorage({
            key: "inputUserInfo",
            data: e.detail.value
        })
        const { phone, userpwd, userpwd1, captcha, username, email, nickname } = e.detail.value;
        // 重置所有错误提示
        this.setData({
            phoneError: '',
            passwordError: '',
            confirmPasswordError: '',
            captchaError: '',
            usernameError: '',
            nicknameError: '',
            emailError: ''
        });
        // 表单验证
        let isValid = true;
        // 用户名验证（不能为空）
        if (!username || username.trim() === '') {
            this.setData({ usernameError: '用户名不能为空' });
            isValid = false;
        }

        // 昵称验证（不能为空）
        if (!nickname || nickname.trim() === '') {
            this.setData({ nicknameError: '昵称不能为空' });
            isValid = false;
        }

        // 邮箱验证（不能为空）
        if (!email || email.trim() === '') {
            this.setData({ emailError: '邮箱不能为空' });
            isValid = false;
        }

        // 手机号验证（11位数字）
        const phoneReg = /^\d{11}$/;
        if (!phone) {
            this.setData({ phoneError: '手机号不能为空' });
            isValid = false;
        } else if (!phoneReg.test(phone)) {
            this.setData({ phoneError: '请输入有效的11位手机号' });
            isValid = false;
        }

        // 密码验证（不能为空）
        if (!userpwd) {
            this.setData({ passwordError: '密码不能为空' });
            isValid = false;
        }

        // 确认密码验证
        if (!userpwd1) {
            this.setData({ confirmPasswordError: '请确认密码' });
            isValid = false;
        } else if (userpwd !== userpwd1) {
            this.setData({ confirmPasswordError: '两次输入的密码不一致' });
            isValid = false;
        }

        // 验证码验证（固定为1234）
        if (!captcha) {
            this.setData({ captchaError: '验证码不能为空' });
            isValid = false;
        } else if (captcha !== '1234') {
            this.setData({ captchaError: '验证码错误，正确验证码为1234' });
            isValid = false;
        }

        // 协议同意验证
        if (!this.data.ck) {
            wx.showToast({ title: '请同意注册协议', icon: 'none' });
            isValid = false;
        }

        // phoneError: '',
        // passwordError: '',
        // confirmPasswordError: '',
        // captchaError: '',
        // usernameError: '',
        // nicknameError: '',
        // emailError: '',
        // captcha: '' // 用于绑定验证码输入框的值
        console.log(this.data.phoneError);
        console.log(this.data.passwordError);
        console.log(this.data.confirmPasswordError);
        console.log(this.data.captchaError);
        console.log(this.data.captcha);
        console.log(this.data.usernameError);
        console.log(this.data.nicknameError);
        console.log(this.data.emailError);
        // 验证通过才调用接口
        if (isValid) {
            console.log("验证通过，准备调用接口");
            wx.request({
                url: `http://localhost:8080/sysUser/add`,  // 正确的模板字符串语法
                method: 'POST',
                header: { 'content-type': 'application/json' },
                data: {
                    username: username,
                    userpwd: userpwd,
                    mobile: phone,
                    email: email,
                    nickname: nickname
                },
                success: (res) => {
                    console.log('接口返回结果', res.data);
                    if (res.data.code === 200) {
                        wx.showToast({ title: '注册成功', icon: 'success' });
                        wx.navigateBack();
                    } else {
                        wx.showToast({ title: res.data.message || '注册失败', icon: 'none' });
                    }
                },
                fail: (err) => {
                    console.error('接口调用失败', err);
                    wx.showToast({ title: '网络请求失败', icon: 'none' });
                }
            });
        } else {
            console.log("表单验证失败，不调用接口");
        }
    },
    change() {
        this.setData({
            ck: !this.data.ck
        })
        console.log(this.data.ck)
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})